package com.group02.community.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.group02.community.entity.dept.SysDept;
import com.group02.community.entity.vo.UserDeptVO;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface DeptMapper extends BaseMapper<SysDept> {

    /**
     * 查询所有岗位菜单
     */
    List<SysDept> selectAllDept();

    /**
     * 逻辑删除
     * @param id
     */
    void delete (Long id);

    /**
     * 模糊查询
     * @param deptName
     * @param status
     * @return
     */
    List<SysDept> getQueryPage(String deptName,String status);

    /**
     * 查看部门下是否有用户
     * @return
     */
    Long checkDeptExistUser(Long id);

    /**
     * 查看部门下是否有子部门
     * @return
     */
    Long hasChildByDeptId(Long id);

    /**
     * 通过部门id查询子部门
     * @return
     */
    Long selectNormalChildrenDeptById(Long id);

    //***********************************zzx**************************************

    /**
     * 获取全部部门
     * @return
     */
    List<UserDeptVO> selectAllUserDept();


    /**
     * 获取部门的子集合
     * @param id
     * @return
     */
    List<UserDeptVO> selectDeptByParentId(Long id);

    /**
     * 根据id获取部门
     * @param id
     * @return
     */
    SysDept selectDeptById(Long id);
}
